#region History

/* -------------------------------------------------------------------------------- 
 * Project Name: JobBoard Enterprise
 * Module: Jb.Web 
 * Name: JobApplication.cs
 * Purpose: ViewModel class for Job Application
 *                   
 * Author: Md. Hassanur Rahman
 * Language: C# SDK Version 4.0
 * --------------------------------------------------------------------------------
 * Change History:
 * Version: 1.0    MHR  05/26/2013
 * Description: Initial Development
 * -------------------------------------------------------------------------------- */

#endregion

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;


namespace Jb.Web.ViewModels
{
    [Serializable]
	public class JobApplicationViewModel : BaseViewModel
	{	
        /// <summary>
		/// Gets or sets the ID
		/// </summary>
        public int ID { get; set;}

        [Required(ErrorMessage= "Please Select a Job")] 
        [Display(Name = "Job")] 
        public int JobID { get; set;}

        [Required(ErrorMessage= "Please Select a Resume")]
        [Range(1, int.MaxValue, ErrorMessage = "Please Select a Resume")]
        [Display(Name = "Select Your Resume")] 
        public int ResumeID { get; set;}
            
        [Required(ErrorMessage= "Please Enter a Cover Letter")]
        [StringLength(4000, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Select Your Cover Letter")] 
		public String CoverLetter	{ get; set; }        
            
        //[Required(ErrorMessage= "Please Choose Has Read?")]         
        [Display(Name = "Has Read")] 
		public String HasRead	{ get; set; }
            
        //[Required(ErrorMessage= "Please Choose Is Deleted?")]         
        [Display(Name = "Is Deleted")] 
		public String IsDeleted	{ get; set; }
            
        //[Required(ErrorMessage= "Please Enter a Applied On")]
        [Display(Name = "Applied On")] 
		public String AppliedOn	{ get; set; }
            
        //[Required(ErrorMessage= "Please Enter a Ranking")]
        [Display(Name = "Ranking")] 
		public String Ranking	{ get; set; }
            
        //[Required(ErrorMessage= "Please Choose Has Short Listed?")]         
        [Display(Name = "Has Short Listed")] 
		public String HasShortListed	{ get; set; }

        [Display(Name = "Select Cover Letter")]
        public CoverLetterViewModel DefaultCoverLetter { get; set; }

        public JobViewModel Job { get; set; }
	}

    public enum JobAppListType
    {
        All = 1,
        ShortListed = 2,
        CalledForInterview = 3,
        Selected = 4,
        JobSeekersList = 5
    }
}

